In recent years, there has been an increased interest in an Internet of Things (IoT). In IoT, not only a personal computer (PC), a server, and a smart device but also various things in the world are coupled to the Internet as IoT devices. Examples of IoT devices include an environmental sensor, a beacon (a radio transmitter), a vehicle, a home electrical appliance, and the like.
As an application example of IoT, there is an information providing service using an IoT device. FIG. 12 is a diagram illustrating a child watch system as an example of an information providing service. The child watch system illustrated in FIG. 12 traces a place where a child is using a beacon 91 carried by the child and provides information about the place where the child is.
In the child watch system, a gateway (GW) 93 receives information transmitted by the beacon 91 carried by the child via a smartphone 92 carried by another person. Note that, although, in FIG. 12, as the smartphone 92 via which the information is received by the GW 93, only a single smartphone 92 is illustrated, the number of smartphones 92 via which the information is received by the GW 93 may be two or more.
The GW 93 is a device that accommodates IoT devices that are distributed in a wide range and relays functions and data of the IoT devices, and is, for example, a Wi-Fi access point or a base station of a mobile network. The GW 93 transmits received information to a data center (DC) 94. Note that, although, in FIG. 12, as the GW 93 via which the information is transmitted to the DC 94, only a single GW 93 is illustrated, the number of GWs 93 via which the information is transmitted to the DC 94 may be two or more.
The DC 94 accumulates information transmitted from various IoT devices as well as information transmitted by the beacon 91. A distribution system including the GW 93 and the DC 94 provides an infrastructure, that is, an IoT service infrastructure, of an IoT service that provides information using the IoT devices.
The IoT service infrastructure provides a retrieval service and a notification service. In the retrieval service, for example, when a guardian of a child requests an IoT service infrastructure to perform a retrieval of a place where the child is, by using the smartphone 92 carried by the guardian, the IoT service infrastructure retrieves data in the DC 94 and provides information about the place where the child is, to the guardian (CASE #1). The IoT service infrastructure may be configured to accumulate information transmitted by the beacon 91 in the GW 93, retrieve data in the GW 93, and provide information about the place where the child is, to the guardian (CASE #2).
In the notification service, for example, an activity range of the child is detected and registered in the IoT service infrastructure in advance and, when the child moves a location that is largely different from the activity range, the IoT service infrastructure notifies the guardian. Whether or not the IoT service infrastructure is to notify the guardian is determined by the DC 94 (CASE #1) or the GW 93 (Case #2).
In the retrieval service, accumulation type data provision in which data accumulated in the GW 93 or the DC 94 is retrieved in accordance with a condition and data that matches the condition is provided is performed. Also, in the retrieval service, data is provided in synchronization with a retrieval request, and therefore, synchronization type data provision is performed. On the other hand, in the notification service, real-time type data provision in which, when data that matches a condition that has been registered in advance is received, the data is provided is performed. Also, in the notification service, non-synchronization type data provision in which specification of a condition and provision of data are not synchronized with one another is performed.
The amount of data that is accumulated in accumulation type data provision is much larger, compared to the number of conditions used in real-time type data provision, and therefore, it takes a longer time to complete processing of accumulation type data provision than a time which it takes to complete processing of real-time type data provision. Therefore, in many cases, real-time type data provision is used.
As a system that performs real-time type data provision, a publisher (Pub)/subscriber (Sub) system is used. FIG. 13 is a diagram illustrating a Pub/Sub system. As illustrated in FIG. 13, in the Pub/Sub system, a publisher 95 and a subscriber 97 are coupled by a topic 96.
For the topic 96, the publisher 95 transmits data. For the topic 96, the subscriber 97 requests subscription and receives data. In the subscription, a match condition used for filtering data is specified. The Pub/Sub system is capable of loosely coupling the publisher 95 and the subscriber 97 together, and therefore, there may be cases where the publisher 95 and the subscriber 97 are not aware the existence or the states of each other. The Pub/Sub system enables a many-to-many communication.
Furthermore, the Pub/Sub system is capable of providing past data that matches a condition at the time when the subscriber 97 started subscription, by using a delay queue. FIG. 14 is a diagram illustrating a delay queue. As illustrated in FIG. 14, the GW 93 inputs data published by the Pub 95 to a delay queue 98 to delay the data by a predetermined time, and then, transmits the data to the Sub 97.
Therefore, the Sub 97 is capable of acquiring old data stored in the delay queue 98. As described above, in the Pub/Sub system, by using the delay queue 98, the Sub 97 is enabled to acquire information of a stray child retrospectively, for example, in a child watch system.
Note that there is a technology in which a router of an issue-subscription network caches data and, after a sustained time frame period has elapsed, erases the cached data, and thereby, sustained caching is realized.
Also, there is a technology in which an area of a terminal device is determined, based on a received terminal ID, a base station ID, and a communication available range of the base station ID, and, when the determined area matches a condition registered in advance, the area is notified in accordance with a registered notification method, and thereby, notification and various controls in accordance with a specified notification method are easily realized.
Japanese Laid-open Patent Publication No. 2009-163753 and Japanese Laid-open Patent Publication No. 11-289574 discuss related art.